#ifndef VERTEX_DRAWER_H
#define VERTEX_DRAWER_H

#include <QOpenGLFunctions>
#include <QOpenGLVertexArrayObject>
#include <QOpenGLBuffer>
#include <QDebug>
#include "shader_program.h"

class VertexDrawer : protected QOpenGLFunctions {
    public:
        explicit VertexDrawer(ShaderProgram *program);
        ~VertexDrawer();

    public:
        virtual void draw() = 0;

    protected:
        ShaderProgram *m_program = nullptr;
        QOpenGLVertexArrayObject *m_vao = nullptr;
        QOpenGLBuffer *m_vbo = nullptr;
};
#endif // VERTEX_DRAWER_H
